package com.byb.server.service.dto;

import java.io.Serializable;
import java.util.HashSet;
import java.util.Objects;
import java.util.Set;

public class Product_sort implements Serializable {

    private Long productId;

    private String productName;

    private String productImg;

    private String overallScore;

    private String ensureScopeSocre;

    private String strichenNum;

    private String strichenClaimTimes;

    private String strichen_money;

    private String die_money;

    private String mildNum ;

    private String mildClaimTimes;

    private String mild_money;

    private Float price ;

    private String stricheProbability;

    private String mildProbability;

    private String dcRate;

    private String amountOfIndemnificationSocre;

    private String claimsSettlementSocre;

    private String convenientServicetSocre;

    private Set<WordKeyDTO> wordKeys = new HashSet<>();

    public Long getProductId() {
        return productId;
    }

    public void setProductId(Long productId) {
        this.productId = productId;
    }

    public String getProductName() {
        return productName;
    }

    public void setProductName(String productName) {
        this.productName = productName;
    }

    public String getProductImg() {
        return productImg;
    }

    public void setProductImg(String productImg) {
        this.productImg = productImg;
    }

    public String getOverallScore() {
        return overallScore;
    }

    public Double getOverScore(){
        return Double.parseDouble(overallScore);
    }

    public void setOverallScore(String overallScore) {
        this.overallScore = overallScore;
    }

    public String getEnsureScopeSocre() {
        return ensureScopeSocre;
    }

    public void setEnsureScopeSocre(String ensureScopeSocre) {
        this.ensureScopeSocre = ensureScopeSocre;
    }

    public Double getEnsureSocre(){
        return Double.parseDouble(ensureScopeSocre);
    }

    public String getStrichenNum() {
        return strichenNum;
    }

    public void setStrichenNum(String strichenNum) {
        this.strichenNum = strichenNum;
    }

    public String getStrichenClaimTimes() {
        return strichenClaimTimes;
    }

    public void setStrichenClaimTimes(String strichenClaimTimes) {
        this.strichenClaimTimes = strichenClaimTimes;
    }

    public String getStrichen_money() {
        return strichen_money;
    }

    public void setStrichen_money(String strichen_money) {
        this.strichen_money = strichen_money;
    }

    public String getDie_money() {
        return die_money;
    }

    public void setDie_money(String die_money) {
        this.die_money = die_money;
    }

    public String getMildNum() {
        return mildNum;
    }

    public void setMildNum(String mildNum) {
        this.mildNum = mildNum;
    }

    public String getMildClaimTimes() {
        return mildClaimTimes;
    }

    public void setMildClaimTimes(String mildClaimTimes) {
        this.mildClaimTimes = mildClaimTimes;
    }

    public String getMild_money() {
        return mild_money;
    }

    public void setMild_money(String mild_money) {
        this.mild_money = mild_money;
    }

    public Float getPrice() {
        return price;
    }

    public void setPrice(Float price) {
        this.price = price;
    }

    public String getStricheProbability() {
        return stricheProbability;
    }

    public void setStricheProbability(String stricheProbability) {
        this.stricheProbability = stricheProbability;
    }

    public String getMildProbability() {
        return mildProbability;
    }

    public void setMildProbability(String mildProbability) {
        this.mildProbability = mildProbability;
    }

    public String getDcRate() {
        return dcRate;
    }

    public void setDcRate(String dcRate) {
        this.dcRate = dcRate;
    }

    public String getAmountOfIndemnificationSocre() {
        return amountOfIndemnificationSocre;
    }

    public void setAmountOfIndemnificationSocre(String amountOfIndemnificationSocre) {
        this.amountOfIndemnificationSocre = amountOfIndemnificationSocre;
    }

    public String getClaimsSettlementSocre() {
        return claimsSettlementSocre;
    }

    public void setClaimsSettlementSocre(String claimsSettlementSocre) {
        this.claimsSettlementSocre = claimsSettlementSocre;
    }

    public String getConvenientServicetSocre() {
        return convenientServicetSocre;
    }

    public void setConvenientServicetSocre(String convenientServicetSocre) {
        this.convenientServicetSocre = convenientServicetSocre;
    }

    public Set<WordKeyDTO> getWordKeys() {
        return wordKeys;
    }

    public void setWordKeys(Set<WordKeyDTO> wordKeys) {
        this.wordKeys = wordKeys;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (o == null || getClass() != o.getClass()) {
            return false;
        }

        Product_sort product_sort = (Product_sort) o;
        if(product_sort.getProductId() == null || getProductId() == null) {
            return false;
        }
        return Objects.equals(getProductId(), product_sort.getProductId());
    }

    @Override
    public String toString() {
        return "Product_sort{" +
            "productId=" + productId +
            ", productName='" + productName + '\'' +
            ", productImg='" + productImg + '\'' +
            ", overallScore=" + overallScore +
            ", ensureScopeSocre=" + ensureScopeSocre +
            ", strichenNum=" + strichenNum +
            ", strichenClaimTimes=" + strichenClaimTimes +
            ", strichen_money=" + strichen_money +
            ", die_money=" + die_money +
            ", mildNum=" + mildNum +
            ", mildClaimTimes=" + mildClaimTimes +
            ", mild_money=" + mild_money +
            ", price=" + price +
            ", mildProbability=" + mildProbability +
            ", amountOfIndemnificationSocre=" + amountOfIndemnificationSocre +
            ", claimsSettlementSocre=" + claimsSettlementSocre +
            ", convenientServicetSocre=" + convenientServicetSocre +
            ", wordKeys=" + wordKeys +
            '}';
    }
}
